home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-10-30 | 2.6 KB | 69 lines | [TEXT/MPS ] |
- The socket library is now on madhaus.utcs.utoronto.ca (128.100.102.10) in
- anonymous ftp's /pub directory.
-
- When it is unbixhexed and unstuffed there will be a folder called sockets
- containing folders socket, unixlib, unixincludes and obj, and a file called
- MPW Startup.
-
- Socket contains the source for the socket library and some test programs.
-
- Unixincludes contains header files from 4.3bsd modified where necessary
- to be used on a mac.
-
- Unixlib contains a bunch of C runtime routines that dont comes with MPW.
-
- The makefiles compile into the obj folder.
-
- MPW Startup sets up a bunch of shell variables which the makefiles
- depend on. You will have to graft these onto your own MPW startup
- procedure.
-
- ------
-
- There isn't any documentation except what is in the code. However,
- socket:socket.c contains a unix-manual-page-style entry above each procedure.
- Some of the details there, such as error returns, are wrong. sorry.
-
- All of the routines have s_ prefixed to their names to avoid conflicts
- with MPW routines of the same name.
-
- The usual socket routines are there, along with the gethostbyname stuff
- and a very badly done stdio interface for sockets.
-
- -------
-
- This code started life as the top layer of a complete tcp/ip implementation
- produced by the Centre for Information Technology Interchange (CITI) at the
- University of Michigan. We used the CITI stuff here until Mactcp was
- available from apple. It wasn't very good and they appear to have stopped
- working on it. Adapting the socket stuff to Mactcp meant a complete rewrite
- because of the major differences in the semantics of the two implementations.
- There is now so little left of the CITI code that I have removed their
- copyright notices.
-
- -----
-
- Non-blocking I/O is fairly important in Mac applications. This library
- supports the berkeley non-blocking I/O scheme, where it s defined, and
- invents its own where necessary. You will probably have to read the code
- to see exactly what you get back in strange situations.
-
- Both select() and the NBIO ioctl() are provided. Even so, it is
- a lot of work to go through an existing Unix application and change
- it to not lock up the mac user interface. There is one non-berkeley
- extension in the library which makes this very simple (in most cases).
- A routine called s_spinroutine() provides the library with a routine to
- call repeatedly when it is blocking. This should be a call-back to the
- application's event loop.
-
- -------
-
- Thats all I can think of to say at the minute. Feel free to call or write
- if you have questions, and please let me know about bugs.
-
- Tom Milligan
- University of Toronto
- Computing Services
- 416-978-6134
- milligan@madhaus.utcs.utoronto.ca
-